A computer memory is a storage device that receives, retains and transmits digital information in a computer. Computer memories come in many different types which vary according to how long they can store data, how fast they are able to receive and transmit data, and how much they cost, among other things. The present invention is applicable to many different types of computer memory, such as read only memory (ROM) and random access memory (RAM), but in the preferred embodiment the invention concerns a subset of RAM known as static random access memory (SRAM).
A random access memory is generally comprised of an array of data storage locations, known as memory cells, where individual data elements, known as bits, can be retained. Each data storage location is addressable so that data from the exterior environment can be written into the data storage location, or data can be read from the data storage location and provided to the exterior environment. The time it takes to access the data in any particular storage location, i.e., at a particular address, is substantially independent of the particular address of that location, hence the name random access memory.
The word "static" in static random access memory refers to the ability of the memory to retain data without having to constantly refresh or re-write the memory cells. The opposite of this is a "dynamic" random access memory which requires constant refreshing of the memory cells to maintain the data contained therein.
An important characteristic of any computer memory device is whether the device is volatile or nonvolatile. A volatile memory device, such as an SRAM, will lose all of its stored data if the power being supplied to the device is terminated. A nonvolatile memory, in contrast, will retain its data even if power is removed. In general, nonvolatile memory devices operate much slower than volatile devices performing the same functions, and, therefore, are not generally used in applications requiring both fast read and write operations.
Memory devices exist which combine a faster volatile memory portion with a slower nonvolatile memory portion to obtain the benefits of both types of memory. These devices use the volatile memory portion during high speed operation and transfer the data stored in the volatile portion to the nonvolatile portion if there is concern that power to the nonvolatile portion will be lost. The data so transferred can later be recalled to the volatile portion when needed. Devices having these characteristics are generally called nonvolatile static random access memories (nvSRAMs).
Nonvolatile SRAMs have wide applicability in the computer industry and may be used in many different computer based products. Such memories may be used, for example, in portable laptop computers or other portable computer products. A problem which arises when these memories are used in portable computers is the sizable current drain that they create even when not in use or in a current reduction mode known as the standby mode. This current drain tends to deplete the computer's battery and results in significantly less operating time between recharges.
Therefore, a need exists for an nvSRAM device that is capable of conserving more power than nvSRAMs with standby current reduction.